易语言模块(黑客为什么可以做到无需知道源码的情况下找出系统漏洞)
资讯
2024-07-17
305
1. 易语言模块,黑客为什么可以做到无需知道源码的情况下找出系统漏洞?
关注我,带你以技术思维看世界~
作为一个7年老程序员,来强答一波。
找漏洞的过程题主这个问题其实是从一个惯性思维来提出的。为什么呢?
因为一个新的漏洞其实不是通过某种方式先知道这里有个漏洞之后再利用它来攻击的,而更像是“蒙”的。是通过不断的调整输入的数据和输入方式,直到出现“意料之外”的情况,这才是找漏洞的真正过程。
很多黑客虽然算不上是coding高手,但是对于一个程序是如何编写出来的,还是有基本的认识的。借此,他其实就知道自己如果发起一个请求可能会怎么样被处理,然后剩下的与编写这部分代码的程序员之间的博弈,这个过程有点像两个人下围棋。
一般黑客会将自己用过的“攻击方法和攻击数据”整合到自己的一个“武器箱”中,后续就通过程序化的方式自动去运行攻击,自己则是观察整个攻击过程,看看能不能发现新的机会。
这些才是黑客的工作过程。
视角有什么区别吗?黑客和软件开发者的视角肯定是不同的,而且正好相反。
软件开发者要做的事是什么?就是如何把一个程序写“正确”,符合设定的预期。你可以这样来理解,好比是带着一个“参考答案”和“解题思路”去写代码。
但是我们知道,任何事物都有两面性,或者说不是“完美”的,“解题思路”也是如此。
更何况,“解题思路”的目的是如何变得“正确”,而不是“不正确”,从思维惯性上就不会考虑那些让它变得“不正确”情况。否则不是和自己要完成的事背道而驰么。
黑客的视角与软件开发者正好相反,倒是和常见的「测试工程师」的视角比较接近。就是通过逆向思维来想尽办法把这个程序搞的“不正确”。
具体的过程就是第一部分内容讲的那些。
希望对你有所帮助:)
欢迎在留言区补充或者阐述不同观点,与我交流。
如果觉得回答对你有所帮助的话给我点个「赞同」并「关注我」吧,支持我的创作。
谢谢你的举手之劳~
了解Z哥更多,欢迎搜索微信公号:跨界架构师。让我们一起为了理想的生活而奋斗。我还会不定期的送出粉丝福利哦。内容包括:架构设计丨分布式系统丨产品丨运营丨个人深度思考。
2. 易语言的超级模块的驱动内存读写1问题?
内存_驱动读写1.写整数型 (取进程ID (“qq.exe”), 十六到十 (“012E2C2C”), 到整数 (编辑框1.内容)) 这样就行了!自己细心点就会发现的了额!
3. 易语言有什么用啊?
现在大型软件项目的实施一般是分工协作开发,即分成一个个的模块来进行开发,易语言提供了模块化开发支持。易语言中的模块称为易模块。通过使用易模块,用户可以将常用的代码封装起来重复使用到其它程序,或提供给第三方使用,或用作开发大型软件项目中的某个部分,然后在软件项目的封装阶段将所有这些模块组织编译成为一个完整程序。
1.易模块同API函数的使用比较。在易语言中,API函数是外部语言编译封装好的接口函数,而易模块是易语言编译好的专用的外部接口函数文件;易模块的使用方法是直接把该模块程序插入易程序中,再调用它的接口命令,API函数的使用方法是先把该DLL文件放到相关目录下,再建立DLL命令来调用;易模块是用中文编写的,而API函数使用英文编写的。只要熟悉易语言就可以用中文编写易模块,因此易语言更适合于中国人学习开发。
2.易模块的特点易模块是一个特殊的易程序,它与普通的易程序相比,有以下特点:(1)必须具有程序名称(通过“程序”→“配置”菜单设置),此名称代表模块名称;(2)必须具有名为“_启动子程序”的子程序,此子程序负责进行易模块的初始化;(3)必须具有公开此易模块的对外接口。 只有具有以上三点的程序才能够被称为易模块。
4. 如何用易语言通过特征码定位动态基址?
在易语言中,可以通过特征码来定位动态基址。动态基址是指程序在运行时分配的内存地址,没有固定的位置,因此需要通过特征码等方式来定位。以下是一种可能的方法:1. 首先,确定你要定位的动态基址所在的模块。可以使用易语言的相关函数来获取进程的模块列表,如"模块_取模块列表"函数。2. 对于指定的模块,使用"模块_取模块大小"函数来获取模块的总大小。3. 使用"内存_创建内存块"函数来创建一个与模块大小相同的内存块。4. 使用"模块_查找特征码"函数,在内存块中查找指定的特征码。特征码是一组唯一标识模块的字节序列,可以是某个函数的指令序列等。5. 在找到特征码后,使用"内存_查找内存值"等函数来获取找到特征码的位置。这个位置就是动态基址的起始地址。需要注意的是,特征码的选择应该是唯一的,也就是说在整个进程中只有一个位置会匹配特征码。否则,在定位动态基址时可能会出现错误。需要了解更多关于易语言的相关函数和使用方法,可以查阅易语言的官方文档或者相关教程。
5. 信息框显示的内容是中文乱码字怎么办?
首先使用精易模块的:编码_utf8转gbk() 或者编码_URL解码(),将解码后的内容显示在信息框上就OK了
6. 易语言算编程语言么?
易语言当然算编程语言了。
我们来看看百科对易语言的定义:易语言(EPL)是一门以中文作为程序代码编程语言。这里说的很明了,是一门编程语言。
确实很多人对易语言嗤之以鼻,关于易语言的段子也有很多,例如:
用两段对话来表示对易语言的感受:“你玩游戏吗?”“玩”“星际还是魔兽?”“连连看”“你会写程序吗?”“会”“C++还是Java?”"易语言"
易语言的目的是要解决没有英语的初学者入门问题,但是这个并不是行业痛点,因为根本就不缺具备英语能力的程序员,这就导致了易语言没有成为主流。
但是不管易语言有多么的不“入流”,不管易语言使用的人有多少,这都不能改变易语言是一门编程语言的事实。
7. 我想问一下咋们现在可以发起一个汉语编程的开源项目吗?
已经有了中文化的 Python ——草蟒,使用中文 API 和关键字,并有相应 IDE 辅助,并且如题主所愿——它已经开源。
其中的第三方库对 Python3 英文版也适用。下面节选自 pypi 简介:
英文版 python 用户能够充分体验中文编程的 模块有<海龟 (turtle)>、<随机数 (random)>和<图快 (tkinter)>。
下面就在英文 Python 3.8.1 下对这个第三方库试用一二。
中文 API 演示中文 API 与原英文代码对比如下:
代码可读性看官自断,不用多说。
视觉效果上,如《在代码中进行中文命名(类/变量/方法等)的优势》中所提,中文的更加齐整。
另一个库——图快 (tkinter)的中英 API 对比:
API 的命名有些讲究。参数命名也完成了汉化。
很值得一提的是,某些命名不拘泥于直译,而是从功能出发进行改进,比如Toplevel的功能:
Toplevel widgets work as windows that are directly managed by the window manager. They do not necessarily have a parent widget on top of them.
既然功能就是窗口,命名为“顶级窗口类”更加一目了然。类似这样将功能本质和中文特性结合的命名风格探索对于中文 API 的发展会很有助益。
IDE 开发环境支持使用微软的 Python 插件,在 Windows 下测试。可以看到中文文档:
输入中文 API 的第一个字有自动补全弹窗,包括对应说明:
草蟒这些第三方库之外,草蟒还实现了 Python 关键字和几个核心库的汉化,并开发了允许中文标点符号等等功能的 VSC 插件,有兴趣的不妨一试。
始于足下这个中文 API 是周蟒之后个人看到的,发布在英文编程语言的第三方库平台的最大规模的中文库项目。 对于內建中文文档、中文API命名、打包发布等等技术细节都进行了较全面验证。期待库的文档、测试等等早日跟上。
拭目以待!
本站涵盖的内容、图片、视频等数据系网络收集,部分未能与原作者取得联系。若涉及版权问题,请联系我们删除!联系邮箱:ynstorm@foxmail.com 谢谢支持!
1. 易语言模块,黑客为什么可以做到无需知道源码的情况下找出系统漏洞?
关注我,带你以技术思维看世界~
作为一个7年老程序员,来强答一波。
找漏洞的过程题主这个问题其实是从一个惯性思维来提出的。为什么呢?
因为一个新的漏洞其实不是通过某种方式先知道这里有个漏洞之后再利用它来攻击的,而更像是“蒙”的。是通过不断的调整输入的数据和输入方式,直到出现“意料之外”的情况,这才是找漏洞的真正过程。
很多黑客虽然算不上是coding高手,但是对于一个程序是如何编写出来的,还是有基本的认识的。借此,他其实就知道自己如果发起一个请求可能会怎么样被处理,然后剩下的与编写这部分代码的程序员之间的博弈,这个过程有点像两个人下围棋。
一般黑客会将自己用过的“攻击方法和攻击数据”整合到自己的一个“武器箱”中,后续就通过程序化的方式自动去运行攻击,自己则是观察整个攻击过程,看看能不能发现新的机会。
这些才是黑客的工作过程。
视角有什么区别吗?黑客和软件开发者的视角肯定是不同的,而且正好相反。
软件开发者要做的事是什么?就是如何把一个程序写“正确”,符合设定的预期。你可以这样来理解,好比是带着一个“参考答案”和“解题思路”去写代码。
但是我们知道,任何事物都有两面性,或者说不是“完美”的,“解题思路”也是如此。
更何况,“解题思路”的目的是如何变得“正确”,而不是“不正确”,从思维惯性上就不会考虑那些让它变得“不正确”情况。否则不是和自己要完成的事背道而驰么。
黑客的视角与软件开发者正好相反,倒是和常见的「测试工程师」的视角比较接近。就是通过逆向思维来想尽办法把这个程序搞的“不正确”。
具体的过程就是第一部分内容讲的那些。
希望对你有所帮助:)
欢迎在留言区补充或者阐述不同观点,与我交流。
如果觉得回答对你有所帮助的话给我点个「赞同」并「关注我」吧,支持我的创作。
谢谢你的举手之劳~
了解Z哥更多,欢迎搜索微信公号:跨界架构师。让我们一起为了理想的生活而奋斗。我还会不定期的送出粉丝福利哦。内容包括:架构设计丨分布式系统丨产品丨运营丨个人深度思考。
2. 易语言的超级模块的驱动内存读写1问题?
内存_驱动读写1.写整数型 (取进程ID (“qq.exe”), 十六到十 (“012E2C2C”), 到整数 (编辑框1.内容)) 这样就行了!自己细心点就会发现的了额!
3. 易语言有什么用啊?
现在大型软件项目的实施一般是分工协作开发,即分成一个个的模块来进行开发,易语言提供了模块化开发支持。易语言中的模块称为易模块。通过使用易模块,用户可以将常用的代码封装起来重复使用到其它程序,或提供给第三方使用,或用作开发大型软件项目中的某个部分,然后在软件项目的封装阶段将所有这些模块组织编译成为一个完整程序。
1.易模块同API函数的使用比较。在易语言中,API函数是外部语言编译封装好的接口函数,而易模块是易语言编译好的专用的外部接口函数文件;易模块的使用方法是直接把该模块程序插入易程序中,再调用它的接口命令,API函数的使用方法是先把该DLL文件放到相关目录下,再建立DLL命令来调用;易模块是用中文编写的,而API函数使用英文编写的。只要熟悉易语言就可以用中文编写易模块,因此易语言更适合于中国人学习开发。
2.易模块的特点易模块是一个特殊的易程序,它与普通的易程序相比,有以下特点:(1)必须具有程序名称(通过“程序”→“配置”菜单设置),此名称代表模块名称;(2)必须具有名为“_启动子程序”的子程序,此子程序负责进行易模块的初始化;(3)必须具有公开此易模块的对外接口。 只有具有以上三点的程序才能够被称为易模块。
4. 如何用易语言通过特征码定位动态基址?
在易语言中,可以通过特征码来定位动态基址。动态基址是指程序在运行时分配的内存地址,没有固定的位置,因此需要通过特征码等方式来定位。以下是一种可能的方法:1. 首先,确定你要定位的动态基址所在的模块。可以使用易语言的相关函数来获取进程的模块列表,如"模块_取模块列表"函数。2. 对于指定的模块,使用"模块_取模块大小"函数来获取模块的总大小。3. 使用"内存_创建内存块"函数来创建一个与模块大小相同的内存块。4. 使用"模块_查找特征码"函数,在内存块中查找指定的特征码。特征码是一组唯一标识模块的字节序列,可以是某个函数的指令序列等。5. 在找到特征码后,使用"内存_查找内存值"等函数来获取找到特征码的位置。这个位置就是动态基址的起始地址。需要注意的是,特征码的选择应该是唯一的,也就是说在整个进程中只有一个位置会匹配特征码。否则,在定位动态基址时可能会出现错误。需要了解更多关于易语言的相关函数和使用方法,可以查阅易语言的官方文档或者相关教程。
5. 信息框显示的内容是中文乱码字怎么办?
首先使用精易模块的:编码_utf8转gbk() 或者编码_URL解码(),将解码后的内容显示在信息框上就OK了
6. 易语言算编程语言么?
易语言当然算编程语言了。
我们来看看百科对易语言的定义:易语言(EPL)是一门以中文作为程序代码编程语言。这里说的很明了,是一门编程语言。
确实很多人对易语言嗤之以鼻,关于易语言的段子也有很多,例如:
用两段对话来表示对易语言的感受:“你玩游戏吗?”“玩”“星际还是魔兽?”“连连看”“你会写程序吗?”“会”“C++还是Java?”"易语言"
易语言的目的是要解决没有英语的初学者入门问题,但是这个并不是行业痛点,因为根本就不缺具备英语能力的程序员,这就导致了易语言没有成为主流。
但是不管易语言有多么的不“入流”,不管易语言使用的人有多少,这都不能改变易语言是一门编程语言的事实。
7. 我想问一下咋们现在可以发起一个汉语编程的开源项目吗?
已经有了中文化的 Python ——草蟒,使用中文 API 和关键字,并有相应 IDE 辅助,并且如题主所愿——它已经开源。
其中的第三方库对 Python3 英文版也适用。下面节选自 pypi 简介:
英文版 python 用户能够充分体验中文编程的 模块有<海龟 (turtle)>、<随机数 (random)>和<图快 (tkinter)>。
下面就在英文 Python 3.8.1 下对这个第三方库试用一二。
中文 API 演示中文 API 与原英文代码对比如下:
代码可读性看官自断,不用多说。
视觉效果上,如《在代码中进行中文命名(类/变量/方法等)的优势》中所提,中文的更加齐整。
另一个库——图快 (tkinter)的中英 API 对比:
API 的命名有些讲究。参数命名也完成了汉化。
很值得一提的是,某些命名不拘泥于直译,而是从功能出发进行改进,比如Toplevel的功能:
Toplevel widgets work as windows that are directly managed by the window manager. They do not necessarily have a parent widget on top of them.
既然功能就是窗口,命名为“顶级窗口类”更加一目了然。类似这样将功能本质和中文特性结合的命名风格探索对于中文 API 的发展会很有助益。
IDE 开发环境支持使用微软的 Python 插件,在 Windows 下测试。可以看到中文文档:
输入中文 API 的第一个字有自动补全弹窗,包括对应说明:
草蟒这些第三方库之外,草蟒还实现了 Python 关键字和几个核心库的汉化,并开发了允许中文标点符号等等功能的 VSC 插件,有兴趣的不妨一试。
始于足下这个中文 API 是周蟒之后个人看到的,发布在英文编程语言的第三方库平台的最大规模的中文库项目。 对于內建中文文档、中文API命名、打包发布等等技术细节都进行了较全面验证。期待库的文档、测试等等早日跟上。
拭目以待!
本站涵盖的内容、图片、视频等数据系网络收集,部分未能与原作者取得联系。若涉及版权问题,请联系我们删除!联系邮箱:ynstorm@foxmail.com 谢谢支持!